package com.xnyzc.lhy.mis.nio;

import com.alibaba.fastjson.JSONObject;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @author liuju
 * @create 2019-07-17 13:23
 */
public class NettyMsg {


    /**
     * 发送一个正确值
     *
     * @param method 方法
     * @return
     */
    public static String setMsg(String method, String msg) {
        StringBuffer json = new StringBuffer();
        json.append(getHeader(1, msg, method));
        json.append("\"");
        json.append("\"");
        json.append("}");
        JSONObject jsonData = JSONObject.parseObject(json.toString());
        return jsonData.toString();
    }

    /**
     * 返回一个正确数据
     *
     * @param method
     * @param data
     * @return
     * @author TaoNingBo
     */
    public static String setMsg(String method, List<Map<String, Object>> data) {
        StringBuffer json = new StringBuffer();
        json.append(getHeader(0, "SUCCESS", method));
        List<JSONObject> jsonList = new ArrayList<JSONObject>();
        for (Map<String, Object> map : data) {
            JSONObject dataJson = new JSONObject(map);
            jsonList.add(dataJson);
        }
        json.append(jsonList);
        json.append("}");
        JSONObject jsonData = JSONObject.parseObject(json.toString());
        return jsonData.toString();
    }

    /**
     * 返回一个错误数据
     *
     * @param method
     * @param data
     * @return
     * @author TaoNingBo
     */
    public static String setErrMsg(String method, String data) {
        StringBuffer json = new StringBuffer();
        json.append(getHeader(-1, "FAILURE", method));
        json.append("\"" + data + "\"");
        json.append("}");
        JSONObject jsonData = JSONObject.parseObject(json.toString());
        return jsonData.toString();
    }

    public static String setJsonMsg(String method, String jsonCon) {
        StringBuffer json = new StringBuffer();
        json.append(getHeader(0, "SUCCESS", method));
        json.append(jsonCon);
        json.append("}");
        JSONObject jsonData = JSONObject.parseObject(json.toString());
        return jsonData.toString();
    }

    /**
     * 生成一个返回JSON的头
     *
     * @param code
     * @param msg
     * @param method
     * @return
     * @author TaoNingBo
     */
    private static String getHeader(int code, String msg, String method) {
        StringBuffer header = new StringBuffer();
        header.append("{");
        header.append("\"code\":" + code);
        header.append(",\"msg\":\"" + msg);
        header.append("\",\"method\":\"" + method);
        header.append("\",\"con\":");
        return header.toString();
    }

}
